package data
{
	import control.manager.MapManager;
	
	import flash.geom.Point;

	/**
	 * npc数据 
	 * @author leo
	 * 
	 */	
	public class NPCData
	{
		/**
		 * npcID 
		 */		
		public var npcID :String;
		/**
		 * npc的对白 
		 */		
		public var npcSpeak :String;
		
		/**
		 * 是否是第一次进入游戏接待玩家的NPC 
		 */		
		public var isFirstTask :Boolean;
		/**
		 * npc身上的任务列表 
		 */		
		public var taskList :Array;
		/**
		 * npc名 
		 */		
		public var roleName :String;
		/**
		 * npc位置 
		 */		
		public var npcPosition :Point;
		/**
		 * 角色类型 
		 */		
		public var roleType :String;
		/**
		 * 角色动作数组 
		 */		
		public var action :Array;
		/**
		 * 角色基本链接 
		 */		
		public var roleURL :String;
		
		/**
		 * 可接任务列表 
		 */		
		public var canDoList :Array = [];	
		public function NPCData()
		{
		}
		
		/**
		 * 创建NPC数据列表 
		 * @param xmlList
		 * @return 
		 * 
		 */		
		public static function createNPCDataList(xmlList :XMLList):Vector.<NPCData>
		{
			var npcDataList :Vector.<NPCData> = new Vector.<NPCData>();
			if(xmlList)
			{
				for each(var xml :XML in xmlList.item)
				{
					var npcData :NPCData = new NPCData();
					npcData.npcID = xml.@npcID;
					npcData.roleName = xml.@roleName;
					npcData.npcPosition = MapManager.instance.string2Point(xml.@npcPosition);
					npcData.roleType = xml.@roleType;
					npcData.roleURL = xml.@roleURL;
					npcData.isFirstTask = int(xml.@isFirstTask) > 0 ? true :false;
					npcData.npcSpeak = xml.@npcSpeak;
					npcData.action = MapManager.instance.string2ActionAry(xml.@action);
					npcDataList.push(npcData);
				}
			}
			return npcDataList;
		}
	}
}